/*
 * Exception.h
 *
 *  Created on: Sep 18, 2011
 *      Author: phopon
 */

#ifndef EXCEPTION_H_
#define EXCEPTION_H_

#include <exception>
#include <string>
#include <sstream>
#include "cmpMatCommon.h"

namespace cmpMat
{
namespace exception
{
class Exception : public std::exception
{
protected:
  std::string _msg;

public:
  /** Takes a character string describing the error.  */
  explicit
  Exception(const std::string& __arg);

  virtual
  ~Exception() throw();

  /** Returns a C-style character string describing the general cause of
   *  the current error (the same string passed to the ctor).  */
  virtual const char*
  what() const throw();
};

} /* namespace exception */
} /* namespace cmpMat */
#endif /* EXCEPTION_H_ */
